Computer programs often comprise a combination of new source code, and previously written source code. An author of a given program may be authorized to include the previously written source code (e.g., due to a license with which the author is in compliance), but the author of the program may also not be authorized to include the previously written source code. It can sometimes be difficult to determine whether a given program includes previously written source code. For example, some programmers employ obfuscation techniques to hide the origin of code. As another example, existing techniques for inspecting source code will not work where no source code is available (e.g., where the only software available for inspection is in binary form.